package com.hake.util;

import java.io.*;

/**
 * @author h.wang
 * @date 2017-02-25 下午 2:57
 */

public class FileUtil {

    /**
     * 创建文件
     * @param file
     * @return
     */
    public static boolean createFile(File file)throws Exception{
        try{
            //判断目标文件所在的目录是否存在
            if(!file.getParentFile().exists()) {
                //如果目标文件所在的目录不存在，则创建父目录
                if(!file.getParentFile().mkdirs()) {
                    return false;
                }
            }

            if(!file.exists()){
                file.createNewFile();
               return true;
            }
        }catch(Exception e){
            e.printStackTrace();
        }
        return true;
    }

    /**
     * 读TXT文件内容
     * @param fileName
     * @return
     */
    public static String readTxtFile(File fileName)throws Exception{
        String result="";
        FileReader fileReader=null;
        BufferedReader bufferedReader=null;
        try{
            fileReader=new FileReader(fileName);
            bufferedReader=new BufferedReader(fileReader);
            try{
                String read="";
                while((read=bufferedReader.readLine())!=null){
                    result=result+read;
                }
            }catch(Exception e){
                e.printStackTrace();
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            if(bufferedReader!=null){
                bufferedReader.close();
            }
            if(fileReader!=null){
                fileReader.close();
            }
        }
        return result;
    }

    /**
     * 向文件中写内容
     * @param fileName
     * @return
     */
    public static boolean writeTxtFile(String content,File fileName)throws Exception{
        RandomAccessFile mm=null;
        boolean flag=false;
        FileOutputStream o=null;
        try {
            o = new FileOutputStream(fileName);
            o.write(content.getBytes("UTF-8"));
            o.close();
            flag=true;
        } catch (Exception e) {
            e.printStackTrace();
        }finally{
            if(mm!=null){
                mm.close();
            }
        }
        return flag;
    }
}